iT邦幫忙

2024 iThome 鐵人賽

DAY 1
4

前言

歡迎各位乘客加入我的 Kubernetes 學習之旅。我是你們的導遊 Vincent。

在這旅程中,我不僅是引領你們的導遊,也是學習者。 過去,我因工作需要和視野所限,主要設計並構建基於 VM(如 EC2)的 GitOps 部署方案、監控機制和自動化流程。雖然這些解決方案在當時已經足夠,但業界的變化早已悄然發生。

當我將目光投向外部時,發現 Kubernetes 已經成為業界的主流。我不禁驚訝,並對 Kubernetes 究竟擁有何種魔力,以及它解決了哪些問題產生了強烈的好奇心。

於是,我全身心投入其中。

我如饑似渴地學習 Kubernetes 的一切,並整理出數十篇筆記。最終,我順利考取了 CKA 證照

然而,僅僅知道如何操作還不夠,我深信,理解「為什麼」要這麼做同樣重要。而教導他人,是我認為最好的學習方式,這也正是我參與此次比賽的原因。

此次參賽的文章改編自我的學習筆記,或者可以說,我又重新整理了一次筆記。

為了將一些概念完整地傳達給大家,並用實作來驗證,我投入了大量的精力和時間。最終的成果,將在接下來的時間裡與大家分享。

最後,請允許我做個簡單的自我介紹:

我擁有近10年的 Backend、DevOps 和 SRE 工作經驗,擅長利用 AWS 雲端服務和各類開源技術設計商業邏輯架構。我擁有從 0 到 1 將地端產品成功遷移至雲端的實戰經驗,並成功實現了 GitOps 和 DevOps 的最佳實踐。

Vincent's Blog

歡迎各位找我一同探討學習。

目錄

->你現在在這裡<-

概念篇:一個好的故事總有優秀的背景設定

基礎篇:各位愛學習的同學請坐

Networking 篇:K8s 版的電話交換機你喜歡嗎

Storage 篇:儲存方式百百種,總有一款適合你

Workloads 篇:不會真以為 Deployment 可以承擔所有吧

Pod 延伸篇:它會比你想像中的還有料

Deployment strategy 篇:優雅的把菜端到客人面前

Scheduling 篇:決定 Pod 放在哪裡也是一門學問

Resource 篇:效能和成本的拉鋸戰

Autoscaling 篇:生意做的越大,人力也要自動跟上

Security 篇:保護的不只是服務

本傳完


環境介紹

我使用的實作環境和版本如下:

kubectl 、叢集版本資訊

kubectl version
---
Client Version: v1.29.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.0

Docker 版本資訊

docker version
---
Client:
 Version:           27.0.3
 API version:       1.46
 Go version:        go1.21.11
 Git commit:        7d4bcd8
 Built:             Sat Jun 29 00:01:25 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Desktop
 Engine:
  Version:          27.0.3
  API version:      1.46 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       662f78c
  Built:            Sat Jun 29 00:02:50 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.18
  GitCommit:        ae71819c4f5e67bb4d5ae76a6b735f29cc25774e
 runc:
  Version:          1.7.18
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

KinD 版本資訊

kind version
---
kind v0.23.0 go1.21.10 linux/amd64

WSL2 版本資訊

lsb_release -a
---
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

Golang 版本資訊

go version
---
go version go1.18.1 linux/amd64

結語

比賽的第一天,我先預祝各位旅途順利。

我可以肯定地說,接下來的學習和實作之旅絕對不會一帆風順,因為我自己的 K8s 學習之路也充滿了挑戰和坎坷。但正是這些挑戰,使我們的學習更加充實和有意義。

如果在過程中遇到任何疑問或發現內容上的錯誤,歡迎大家踴躍提出來討論和糾正。我非常樂意接受指正,因為如我之前所說,我和大家一樣,都是這趟學習旅途上的同路人。


下一篇
學 Kubernetes 的第二天 - Kubernetes 的前世今生
系列文
都什麼年代了,還在學 Kubernetes37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言